AI 问数 是一种能够将自然语言转换为 SQL 语句的智能分析工具,可显著提升数据库研发人员、数据分析人员及业务人员的数据使用效率。在 AI 时代,AI 问数 正逐步成为 BI 与数据库研发的核心能力之一。
简化数据查询 即使不熟悉 SQL,运营或业务人员也可以通过自然语言快速完成复杂查询。
自动报表生成 只需描述需求,即可自动生成对应的数据结果与图表。
显著提升效率 减少手写 SQL 的时间成本与人为错误,提高整体研发与分析效率。
受限于 AI 生成 SQL 与图表的准确性,目前强烈推荐使用 deepseek-chat 模型,以获得更稳定、准确的查询结果与可视化效果。
在使用 Chat2BI 前,首先需要配置并同步数据源连接,这是后续所有操作的基础。
操作步骤:
建议使用只读账号连接数据库,避免误操作影响生产数据。数据源配置完成后,会自动进行首次同步。
配置好数据源后,需要同步数据库表结构,让 AI 学习并理解表结构和字段定义,这是自然语言解析与 SQL 生成的核心基础。
操作步骤:
当数据库结构发生变更(如新增表、新增字段、修改字段含义)后,请务必重新同步,以确保 AI 使用的是最新结构。否则可能导致查询失败或结果不准确。
字段学习原理:
系统在同步表结构时,会将表名、字段名、字段注释等信息存储到数据库中,供 AI 模型在生成 SQL 时进行语义匹配。字段注释的准确性直接影响 AI 对业务含义的理解。
字段评估是确保 AI 正确理解数据语义的核心步骤,强烈建议执行。
通过大模型对原始字段注释进行智能校正和语义优化,可显著提升自然语言识别与 SQL 生成的准确率。
操作步骤:
status 字段:0-禁用,1-启用order_type 字段:1-普通订单,2-预售订单,3-团购订单字段描述越贴近真实业务语义,AI 理解能力越强。建议对核心业务字段进行人工校验和优化。
创建数据集是 Chat2BI 使用过程中非常关键的一步,合理的数据集设计将直接影响自然语言查询的准确性与 SQL 生成质量。
操作步骤:
数据集建议按业务主题划分(订单分析、用户分析、财务分析等),单个数据集包含 3-10 张表。数据集命名与描述越清晰,自然语言提问的准确率越高。
数据集创建后,系统会将数据集的名称和描述进行向量化存储。当用户提问时,如果没有指定数据集,系统会通过向量相似度自动匹配最相关的数据集。
完成数据集创建后,就可以开始使用自然语言向数据集提问了。系统会自动将您的问题转换为 SQL 语句并执行查询。
操作步骤:
如果未指定数据集,系统会基于向量相似度自动匹配最相关的数据集。建议在提问时包含明确的业务场景描述,以提高匹配准确率。
系统返回内容:
为保护数据库性能,系统会对查询结果条数进行限制。如需导出完整数据,请使用导出功能。
AI 术语是帮助 AI 理解行业专业术语和业务黑话的关键配置,可显著提升特定领域的查询准确性。
作用说明:
在实际业务场景中,往往存在大量行业术语、业务缩写或内部黑话。例如:
如果不配置术语映射,AI 可能无法正确理解这些专业词汇,导致查询失败或结果错误。
配置步骤:
配置的术语会在生成 SQL 时传递给 AI 模型,帮助模型理解特殊词汇的含义。例如,当用户问"统计本月 GMV"时,AI 会根据术语配置理解为"统计本月订单金额总和"。
完整的 Chat2BI 使用流程如下:
Chat2BI 基于 LangChain4j 和 Spring AI 框架实现,通过语义相似度匹配和 JSON Schema 约束确保 SQL 生成的准确性。
当用户未指定数据集时,系统会通过以下步骤自动匹配:
如果未找到相关数据集,系统会提示"未找到相关数据集建模,请点击下方+按钮选择目标数据集合"。此时需要手动选择数据集或创建新的数据集。
Chat2BI 支持自动生成多种类型的图表:
| 图表类型 | 适用场景 | 提问示例 |
|---|---|---|
| 折线图 | 趋势分析、时间序列 | "生成最近30天订单金额趋势折线图" |
| 柱状图 | 分类对比、排名 | "统计各城市销售额,生成柱状图" |
| 饼图 | 占比分析、构成 | "分析各商品类目销售占比,生成饼图" |
| 表格 | 明细数据、详细列表 | "查询最近10条订单明细" |
系统会根据查询结果的数据特征自动推荐合适的图表类型。您也可以在提问时明确指定图表类型。
系统在返回查询结果后,会异步生成相似问题推荐,帮助用户进行数据的深度探索:
相似问题生成基于 SimilarQuestionHelper.generateSimilarQuestionsForDatabase() 方法,使用 Reactor 异步流式推送,确保不阻塞主查询流程。
受限于 AI 生成 SQL 与图表的准确性,目前强烈推荐使用以下模型: